# 此处已经定义了C语言的标准为C11，一些新特性是可以使用的
# 指定项目名称和编程语言的类型
# 查看meson版本命令： meson -v
project('scrcpy', 'c',
        version: '2.7',
        meson_version: '>= 0.48',
        default_options: [
            'c_std=c11',

            # 下面的警告等级对应于GCC的-Wall -Wextra 或是 MSVC的 /W3
            'warning_level=2',

            # NDEBUG 宏处理方案
            'b_ndebug=if-release',
        ])

# 测试一下
# add_project_arguments('-Wmissing-prototypes', language: 'c')

# 下面这句中的 get_option('compile_app') 检查的是根目录下meson_option.txt 文件中的配置，有相关的节点
if get_option('compile_app')
    message('下面将编译 PC端 app:')
    
    # 大多数源树都有多个子目录要处理。
    # 这些可以通过Meson的subdir命令来处理。它将切换到给定的子目录并执行该子目录中的内容meson.build。
    # 所有状态（变量等）都往返于子目录。效果大致与将子目录的Meson文件的内容写入include命令所在的位置相同。
    subdir('app')
endif

if get_option('compile_server')
    message('下面将编译 Android server:     Android Studio打开项目的根目录,可直接加载Android项目')
    
    subdir('server')
endif

# 原来的代码中有下面这句，后来没有了
# run_target('run', command: ['scripts/run-scrcpy.sh'])
